/*
                js基础
                    -控制浏览器弹出一个警告框
                    alert("哥，你真帅啊！！");

                    -让计算机再页面中输出一个内容
                    document.write()可以向body中输出一个内容
                    document.write("看我出不出来~~");

                    -向控制台输出一个内容
                    console.log()的作用是向控制台输出一个内容
                    console.log("你猜我在哪出来呢？");
                    

 */



/*
                js编写的位置
                    -可以将js代码编写到外部js文件中，然后通过script标签引入
                    写到外部文件中可以在不同的页面中同时引用，也可以利用到浏览器的缓存机制
                    推荐使用
                    <script type="text/javascript" src="相对路径"></script>
                    注意：script标签一旦用于引入外部文件了，就不能在内部编写代码了，即使编写了代码，浏览器也会忽略
                    如果需要则可以再创建一个新的script标签用于编写内部代码，如：
                    <script type="text/javascript">
                            alert("我是内部的js代码");
                    </script>


                    -可以将js代码编写到script标签中
                    <script type="text/javascript">

                    alert("我是script标签中的代码！！");

                    </script>

                    -可以将js代码编写到标签的onclick属性中
                    当我们点击按钮时，js代码才会执行

                    虽然可以写在标签的属性中，但是他们属于结构与行为耦合，不方便维护，不推荐使用
                    <button onclick="alert('讨厌，你点我干嘛~~');">点我一下</button>

                    可以将js代码写在超链接的herf属性中，这样当点击超链接时，会执行js代码
                    <a herf="javascript:alert('让你点我，你就点！！');">你也点我一下</a>
                    <a herf="javascript:;">你也点我一下</a>

*/


/*
                js基本语法
                    -多行注释
                    -js注释
                    多行注释，注释中的内容不会被执行，但是可以在源代码中查看
                        要养成良好的编写注释的习惯，也可以通过注释来对代码进行一些简单的调试


                    -单行注释
                    //alert("helllo");
                    console.log("hello");//该语句用来在控制台中输出一个日志


                    1.js中严格区分大小写
                    2.js中每一条语句以分号结尾
                            -如果不写分号，浏览器会自动添加，但是会消耗一些系统资源，
                                而且有时候，浏览器会加错分号，所以在开发中必须写
                    3.js中会忽略多个空格和换行，所以我们可以利用空格和换行对代码进行格式化

*/

/*
                字面量与变量
                    -字面量 就是一些不可改变的值
                        比如：1 2 3 4 5
                        字面量都是可以直接使用，但我们一般不会直接使用字面量

                    -变量 变量可以用来保存字面量，而且变量的值是可以任意改变的
                        变量更加方便我们使用，所以在开发中都是通过变量去保存一个字面量 
                        而很少直接使用字面量
                        可以通过变量对字面量进行描述

                    -声明变量
                        在js中使用var来声明一个变量
                        var a;
                        var a=123;

*/

/*
                标识符：
                    -在js中所有的可以有我们自主命名的都可以成为是标识符
                    -例如：变量名，函数名，属性名都属于标识符
                    -命名一个标识符时需要遵守如下的规则：
                        1.标识符中可以含有字母，数字，_，$
                        2.标识符不能以数字开头
                        3.标识符不能是es中的关键字或保留字
                        4.标识符一般都采用驼峰命名法
                            -首字母小写，每个单词的开头字母大写，其余字母小写
                            helloWorld xxxYyyZzz

                -js底层保存标识符时实际上是采用的Unicode编码，
                    所以理论上讲，所有的utf-8中含有的内容都可以作为标识符（包括中文）

*/

/*
                字符串
                    -数据类型指的就是字面量的类型
                        在js中一共有六种数据类型
                                String 字符串
                                Number 数值
                                Boolean 布尔值
                                Null 空值
                                Unidefined 未定义
                                Object 对象

                        其中前五种属于基本数据类型
                        而Object 属于引用数据类型

                    String字符串
                        -在js中字符串需要使用引号引起来
                        -使用双引号或单引号都可以，但是不要混用
                        -引号不能嵌套，双引号不能放双引号，单引号不能放单引号

                    在字符串中我们可以使用\作为转义字符，
                            当表使一些特殊符号时可以使用\进行转义

                            \" 表示"
                            \' 表示'
                            \n 表示 换行
                            \t 表示 制表符
                            \\ 表示 \

                        输出字面量 字符串str
                        alert("str");
                        输出变量str
                        alert(str);

*/


/*
                Number

                    在js中所有的数值都是number类型，
                        包括整数和（浮点数）小数

                    可以使用一个运算符typeof    
                        来检查一个变量的类型
                    语法：typeof 变量
                    检查字符串时，会返回string
                    检查数值时，会返回number

                    js中可以表示的数字的最大值
                        Number.MAX_VALUE
                            1.7976931348623157e+308
                        如果使用Number的数值超过了最大值，则会返回一个
                            Infinity 表示正无穷
                            -Infinity 表示负无穷
                            使用typeof检查Infinity 也会返回Number

                        NaN 是一个特殊的数字，表示Not A Number 
                            使用typeof检查NaN也会返回number

                        在js中整数的运算基本可以保证精确
                        如果使用js进行浮点数的运算，可能够得到一个不精确的结果
                            所以千万不要使用js进行对精确度要求比较高的运算

                        



 */